package rmmk.algorithms.knn;

import java.util.List;

import rmmk.algorithms.features.FeatureManager;
import rmmk.algorithms.preprocessing.config.DistanceMetric;
import rmmk.algorithms.preprocessing.config.KnnType;
import rmmk.algorithms.similarityMeasures.SimilarityMeasureManager;
import rmmk.framework.datasources.Document;

public abstract class AbstractKnnClassifier {
	int k = 1;
	KnnType type = KnnType.FeatureVector;
	
	public abstract void teach(List<Document> documents, FeatureManager fm, SimilarityMeasureManager smm);
	public abstract Document predict(Document document, DistanceMetric dm);
	
	public int getK() {
		return k;
	}
	public void setK(int k) {
		this.k = k;
	
	}
	public KnnType getType() {
		return type;
	}
	public void setType(KnnType type) {
		this.type = type;
	}
}
